<?php
class DenunciaservicioController extends AppController
{

    public $helpers = array('Html', 'Form');
    public $uses = array(
        'Servicio',
        'Mascota',
        'Propietario',
        'Camada',
        'Raza',
        'Tipospelo',
        'Informecomcria',
        'Monta');
    public $components = array('Fechasconvert', 'Session');
    public $layout = 'kennel';


    public function index()
    {
        $denuncias = $this->Servicio->find('all', array('recursive' => 2));
        $this->set(compact('denuncias'));
    }
    function listadomontas()
    {
        $montas = $this->Monta->find('all');
        $this->set(compact('montas'));
    }
    function registrarmonta()
    {
        if (!empty($this->data)) {

            $this->Monta->create();
            $fecha = $this->Fechasconvert->doFormatfecha($this->data['Monta']['fecha_denuncia']);

            $this->request->data['Monta']['fecha_denuncia'] = $this->Fechasconvert->
                doFormatfecha($this->data['Monta']['fecha_denuncia']);
            if ($this->data['Servicio']['fecha'] != null) {
                $this->request->data['Monta']['fecha'] = $this->Fechasconvert->doFormatfecha($this->
                    data['Monta']['fecha']);
            }
            if ($this->Monta->saveMany($this->data)) {
                //debug($this->data);exit;
                $this->Session->setFlash("Denuncia de monta " . $this->Monta->id .
                    " guardado exitosamente!");
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash("Error al guardar!");
                $this->redirect(array('action' => 'index'));
            }
        } else {
            $perfil = $this->Session->read('tipousuario_id');
            $mascotas = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                        'Mascota.nombre')));
            $kcbs = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                        'Mascota.id')));
            $propietarios = $this->Propietario->find('list', array('fields' => array('Propietario.id',
                        'Propietario.nombre')));
            $this->set(compact('mascotas', 'kcbs', 'propietarios', 'perfil'));
        }
    }
    function insertarservicio()
    {
        if (!empty($this->data)) {
            //debug($this->data);exit;
            $this->request->data['Monta']['fecha_denuncia'] = $this->Fechasconvert->
                doFormatfecha($this->data['Monta']['fecha_denuncia']);
            if ($this->data['Servicio']['fecha'] != null) {
                $this->request->data['Monta']['fecha'] = $this->Fechasconvert->doFormatfecha($this->
                    data['Monta']['fecha']);
            }
            if ($this->Servicio->save($this->data)) {
                $this->Session->setFlash("Denuncia de servicio " . $this->Servicio->id .
                    " guardado exitosamente!");
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash("Error al guardar!");
                $this->redirect(array('action' => 'index'));
            }
        } else {
            $mascotas = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                        'Mascota.nombre')));
            $propietarios = $this->Propietario->find('list', array('fields' => array('Propietario.id',
                        'Propietario.nombre')));
            $this->set(compact('mascotas', 'propietarios'));
        }
    }

    public function insertar()
    {
        if (!empty($this->data)) {


            /*convercion para guardar fechas*/
            $fecha_macho = $this->data['Mascota2']['fecha_nac'];
            $fecha_hembra = $this->data['Mascota1']['fecha_nac'];
            $fecha_servicio = $this->data['Servicio']['fecha_servicio'];
            $fecha_denuncia = $this->data['Servicio']['fecha_denuncia'];

            $fecha1 = $this->Fechasconvert->doFormatfecha($fecha_macho);

            $fecha2 = $this->Fechasconvert->doFormatfecha($fecha_hembra);
            $fecha3 = $this->Fechasconvert->doFormatfecha($fecha_servicio);
            $fecha4 = $this->Fechasconvert->doFormatfecha($fecha_denuncia);

            $this->request->data['Mascota2']['fecha_nac'] = $fecha1;
            $this->request->data['Mascota1']['fecha_nac'] = $fecha2;
            $this->request->data['Servicio']['fecha_servicio'] = $fecha3;
            $this->request->data['Servicio']['fechadenuncia'] = $fecha4;

            /*datos propietarios*/

            $propietario1 = $this->data['Propietario1'];

            $propietario2 = $this->data['Propietario2'];

            $macho = $this->data['Mascota2'];
            $hembra = $this->data['Mascota1'];

            $this->Servicio->create();

            if ($propietario1['nombre'] == $propietario2['nombre']) {

                $this->Propietario->save($propietario2);
                //echo "iguales";exit;
            } else {
                $this->Propietario->save($propietario1);
                $this->Propietario->save($propietario2);
            }

            /* end of datos propietarios*/
            $this->Servicio->create();

            if ($this->Servicio->save($this->data)) {
                $this->Session->setFlash("Se Guardo correctamente!!!");
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash("No se pudo guardar!!!");
                $this->redirect(array('action' => 'index'));
            }
        }

        $mascotas = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                    'Mascota.nombre')));
        $propietarios = $this->Propietario->find('list', array('fields' => array('Propietario.id',
                    'Propietario.nombre')));
        $this->set(compact('mascotas', 'propietarios'));
    }
    public function editarservicio($id = null)
    {
        $this->Servicio->id = $id;
        if (!empty($this->data)) {
            //$this->Servicio->read();
            //debug($this->data);exit;
            $this->request->data['Servicio']['fecha_denuncia'] = $this->Fechasconvert->
                doFormatfecha($this->data['Servicio']['fecha_denuncia']);
            if ($this->data['Servicio']['fecha'] != null) {
                $this->request->data['Servicio']['fecha'] = $this->Fechasconvert->doFormatfecha($this->
                    data['Servicio']['fecha']);
            }
            //debug($this->data);exit;
            if ($this->Servicio->save($this->data)) {
                $this->Session->setFlash("Servicio con registro " . $this->Servicio->id .
                    " editado correctamente!!!");
                $this->redirect(array('action' => "index"), null, true);
            } else {
                $this->Session->setFlash("No se pudo editar!!!");
                $this->redirect(array('action' => "index"), null, true);
            }
        } else {
            $this->data = $this->Servicio->findById($id);
            //debug($this->data);exit;
        }
        $perfil = $this->Session->read('tipousuario_id');
        $mascotas = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                    'Mascota.nombre')));
        $propietarios = $this->Propietario->find('list', array('fields' => array('Propietario.id',
                    'Propietario.nombre')));
        $this->set(compact('mascotas', 'propietarios', 'perfil'));
    }
    public function editarmonta($id = null)
    {
        $this->Monta->id = $id;
        if (!empty($this->data)) {
            //$this->Servicio->read();
            //debug($this->data);exit;
            $this->request->data['Monta']['id']=$id;
            $this->request->data['Monta']['fecha_denuncia'] = $this->Fechasconvert->doFormatfecha($this->data['Monta']['fecha_denuncia']);
            if ($this->data['Monta']['fecha'] != null) {
                $this->request->data['Monta']['fecha'] = $this->Fechasconvert->doFormatfecha($this->data['Monta']['fecha']);
            }
            //debug($this->data);exit;
            if ($this->Monta->save($this->data)) {
                $this->Session->setFlash("Monta con registro " . $this->Monta->id .
                    " editado correctamente!!!");
                $this->redirect(array('action' => "index"), null, true);
            } else {
                $this->Session->setFlash("No se pudo editar!!!");
                $this->redirect(array('action' => "index"), null, true);
            }
        } else {
            $this->data = $this->Monta->findById($id);
            //debug($this->data);exit;
        }
        $perfil = $this->Session->read('tipousuario_id');
        $mascotas = $this->Mascota->find('list', array('fields' => array('Mascota.id',
                    'Mascota.nombre')));
        $propietarios = $this->Propietario->find('list', array('fields' => array('Propietario.id',
                    'Propietario.nombre')));
        $this->set(compact('mascotas', 'propietarios', 'perfil'));
    }
    public function ver($id = null)
    {
        $usuario = $this->Propietario->findById(1);
        //debug($usuario);
        $datos = $this->Servicio->find('first', array('conditions' => array('Servicio.id' =>
                    $id), 'recursive' => 2));
        //debug($datos);       exit;
        $this->set(compact('datos'));
    }
    public function vermonta($id)
    {
        $datos = $this->Monta->find('first', array('conditions' => array('Monta.id' => $id),
                'recursive' => 3));
        //debug($datos);exit;
        $this->set(compact('datos'));
    }
    public function eliminar($id = null)
    {
        if (!$id) {
            $this->Session->setFlash('id Invalida para borrar');
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Servicio->delete($id)) {
            $this->Session->setFlash('El Servicio con registro  ' . $id . ' fue borrado');
            $this->redirect(array('action' => 'index'));
        }

    }
    public function imprimir($id = null)
    {
        $this->layout = 'print';
        $denuncia = $this->Servicio->findById($id);
        //debug($denuncias);exit;
        $this->set(compact('denuncia'));
    }
    public function registrarcamada($id_servicio = null, $id_nacimiento = null)
    {
        if (!empty($this->data)) {
            //debug($this->data);
            $nacimiento = $this->Servicio->find('first', array('conditions' => array('Servicio.id' =>
                        $id_servicio), 'recursive' => 0));
            //debug($this->data);exit;
            $madre = $nacimiento['Servicio']['reproductora_id'];
            $padre = $nacimiento['Servicio']['reproductor_id'];
            $raza = $this->data['Camada']['raza_id'];
            $fecha_nacimiento = $nacimiento['Servicio']['fecha_denuncia'];
            $mascotas = $this->data['Mascota'];
            $i = 0;
            foreach ($mascotas as $mascota) {
                $this->request->data['Mascota'][$i]['raza_id'] = $raza;
                $this->request->data['Mascota'][$i]['reproductora_id'] = $madre;
                $this->request->data['Mascota'][$i]['reproductor_id'] = $padre;
                $this->request->data['Mascota'][$i]['fecha_nacimiento'] = $fecha_nacimiento;
                $i++;
            }
            $this->request->data['Camada']['numregistropadre'] = $padre;
            $this->request->data['Camada']['numregistromadre'] = $madre;
            $this->request->data['Camada']['criadero_id'] = $nacimiento['Denuncianacimiento']['criadero_id'];
            $this->request->data['Camada']['fecha_nacimiento'] = $fecha_nacimiento;
            //debug($this->data);exit;
            if ($this->Camada->saveAll($this->data)) {
                $this->Session->setFlash("Registro de cachorros exitoso");
                $this->redirect(array('action' => 'index'));

            } else {
                $this->Session->setFlash("Error en el registro");
                $this->redirect(array('action' => 'index'));
            }
        }
        $razas = $this->Raza->find('list', array('fields' => array('Raza.id',
                    'Raza.nombre')));
        $pelos = $this->Tipospelo->find('list', array('fields' => array('Tipospelo.id',
                    'Tipospelo.nombre')));
        //debug($pelos);
        $sexo = array("0" => 'HEMBRA', "1" => 'MACHO');
        //debug($sexo);exit;
        $this->set(compact('razas', 'pelos', 'id_servicio', 'id_nacimiento', 'sexo'));
    }
    public function informecomision($id = null)
    {
        if (!empty($this->data)) {

            $this->Informecomcria->create();
            //debug($this->data);exit;
            if ($this->Informecomcria->saveAll($this->data)) {
                $this->Session->setFlash("Registro de informe creado");
                $this->redirect(array('action' => 'index'));

            } else {
                $this->Session->setFlash("Error al registrar el informe de comision de cria");
                $this->redirect(array('action' => 'index'));
            }
        }
        $camada = $this->Camada->find('first', array('conditions' => array('Camada.id' =>
                    $id), 'recursive' => 2));
        $cachorros = $camada['Mascota'];
        $crias = array();
        foreach ($cachorros as $cachorro) {
            $crias[$cachorro['id']] = $cachorro['nombre'];
        }
        $this->set(compact('camada', 'cachorros'));
    }
    public function vercamada($id = null)
    {
        $camada = $this->Camada->find('first', array('conditions' => array('Camada.id' =>
                    $id), 'recursive' => 2));
        //debug($camada);exit;
        $this->set(compact('camada'));
    }
}
?>